package com.db.logging;

import org.slf4j.Logger;
import org.slf4j.Marker;

/**
 * @author nulls.narik
 */
public abstract class AbstractLogger implements Logger {

    protected final String name;

    protected AbstractLogger(String name) {
        this.name = name;
    }

    @Override
    public String getName() {
        return name;
    }

    @Override
    public boolean isTraceEnabled() {
        return false;
    }

    @Override
    public void trace(String s) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void trace(String s, Object o) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void trace(String s, Object o, Object o2) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void trace(String s, Object... objects) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void trace(String s, Throwable throwable) {
        throw new UnsupportedOperationException();
    }

    @Override
    public boolean isTraceEnabled(Marker marker) {
        return false;
    }

    @Override
    public void trace(Marker marker, String s) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void trace(Marker marker, String s, Object o) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void trace(Marker marker, String s, Object o, Object o2) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void trace(Marker marker, String s, Object... objects) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void trace(Marker marker, String s, Throwable throwable) {
        throw new UnsupportedOperationException();
    }

    @Override
    public abstract boolean isDebugEnabled();

    @Override
    public abstract void debug(String s);

    @Override
    public abstract void debug(String s, Object o);

    @Override
    public abstract void debug(String s, Object o, Object o2);

    @Override
    public abstract void debug(String s, Object... objects);

    @Override
    public void debug(String s, Throwable throwable) {
        throw new UnsupportedOperationException();
    }

    @Override
    public boolean isDebugEnabled(Marker marker) {
        return false;
    }

    @Override
    public void debug(Marker marker, String s) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void debug(Marker marker, String s, Object o) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void debug(Marker marker, String s, Object o, Object o2) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void debug(Marker marker, String s, Object... objects) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void debug(Marker marker, String s, Throwable throwable) {
        throw new UnsupportedOperationException();
    }

    @Override
    public abstract boolean isInfoEnabled();

    @Override
    public abstract void info(String s);

    @Override
    public abstract void info(String s, Object o);

    @Override
    public abstract void info(String s, Object o, Object o2);

    @Override
    public abstract void info(String s, Object... objects);

    @Override
    public void info(String s, Throwable throwable) {
        throw new UnsupportedOperationException();
    }

    @Override
    public boolean isInfoEnabled(Marker marker) {
        return false;
    }

    @Override
    public void info(Marker marker, String s) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void info(Marker marker, String s, Object o) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void info(Marker marker, String s, Object o, Object o2) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void info(Marker marker, String s, Object... objects) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void info(Marker marker, String s, Throwable throwable) {
        throw new UnsupportedOperationException();
    }

    @Override
    public boolean isWarnEnabled() {
        return false;
    }

    @Override
    public void warn(String s) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void warn(String s, Object o) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void warn(String s, Object... objects) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void warn(String s, Object o, Object o2) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void warn(String s, Throwable throwable) {
        throw new UnsupportedOperationException();
    }

    @Override
    public boolean isWarnEnabled(Marker marker) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void warn(Marker marker, String s) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void warn(Marker marker, String s, Object o) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void warn(Marker marker, String s, Object o, Object o2) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void warn(Marker marker, String s, Object... objects) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void warn(Marker marker, String s, Throwable throwable) {
        throw new UnsupportedOperationException();
    }

    @Override
    public abstract boolean isErrorEnabled();

    @Override
    public abstract void error(String s);

    @Override
    public abstract void error(String s, Object o);

    @Override
    public abstract void error(String s, Object o, Object o2);

    @Override
    public abstract void error(String s, Object... objects);

    @Override
    public void error(String s, Throwable throwable) {
        throw new UnsupportedOperationException();
    }

    @Override
    public boolean isErrorEnabled(Marker marker) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void error(Marker marker, String s) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void error(Marker marker, String s, Object o) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void error(Marker marker, String s, Object o, Object o2) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void error(Marker marker, String s, Object... objects) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void error(Marker marker, String s, Throwable throwable) {
        throw new UnsupportedOperationException();
    }

}
